#ifndef Common_h__
#define Common_h__
#include "Logger.h"
#include "Types.h"
#include <windows.h>
#include <assert.h>
#include <mmsystem.h>
#include <list>
#include <map>

#define SAFE_RELEASE(p)      { if((p) != NULL) { (p)->Release(); (p)=NULL; } }
#define SAFE_DELETE_ARRAY(p) { if((p) != NULL) { delete[] (p);   (p)=NULL; } }
#define SAFE_DELETE(p)       { if((p) != NULL) { delete (p);     (p)=NULL; } }

#include <boost\config.hpp>
#include <boost\shared_ptr.hpp>
#include <boost\utility.hpp>

using boost::shared_ptr;

#endif // Common_h__